package com.xnew.bean.common;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

@TableName("el_sys_user_info")
public class SysUserInfo implements Serializable{
	/**
	 * 登录用户信息
	 */
	@TableId
	private String userInfoNo; //'登录编号'

	private String loginName; //'登录名'

	private String pwd; //'密码'

	private String userState; //用户状态 01

	private String userType; // 类型 01:个人用户02:机构用户03:委员会用户

	private String userName; //'登录名'

	private String perUserNo; //个人用户编号

	@TableField(exist = false)
	private String userIdent; //用户标识

	private String orgUserNo; //机构用户编号

	private String createUserNo; // 创建用户

	private String createTime; //创建时间

	private String modyTime; //修改时间

	private String regIp; //注册IP

	private String isSsoUser; //是否单点用户

	private String lockTimes; //锁定次数

	private String salt; //盐值

	private String openId; //门户用户id


	@TableField(exist = false)
	private String code; // 统一门户平台code
	@TableField(exist = false)
	private String access_token; // 统一门户平台token

	/**
	 * 机构用户信息
 	 */
	@TableField(exist = false)
	private String orgAttrCode; // 机构属性编号

	@TableField(exist = false)
	private String beltoRegiCode; // 地区编号

	@TableField(exist = false)
	private String indvUserNo; //用户编号

	@TableField(exist = false)
	private String orgTypeCode; //机构类别编号

	@TableField(exist = false)
	private String orgName; //机构名称

	@TableField(exist = false)
	private String orgCode; //机构代码

	@TableField(exist = false)
	private String aoiOrgNo; //组织机构代码

	@TableField(exist = false)
	private String orgStatusCode; //机构状态

	@TableField(exist = false)
	private String orgDutyCode; //机构职务编码：03理事单位、04监事单位、05常务理事单位、06非会员单位

	@TableField(exist = false)
	private String orgCertifNo; //会员证书号码

	/**
	 * 个人用户信息
	 */

	@TableField(exist = false)
	private String beltoDeptNo; //'所属部门编号'

	@TableField(exist = false)
	private String deptName; //'所属部门编号'

	@TableField(exist = false)
	private String beltoOrgId; //'所属机构编号'

	@TableField(exist = false)
	private String mob; //'移动电话'

	@TableField(exist = false)
	private String fixTel; //'固定电话'

	@TableField(exist = false)
	private String eml; //'邮箱'

	@TableField(exist = false)
	private String beltoIvpbNo; //'所属专业委员会'

	@TableField(exist = false)
	private String helperNo; //'助手'

	@TableField(exist = false)
	private String unit; //'单位'

	@TableField(exist = false)
	private String unitPostName; //'单位任职'

	@TableField(exist = false)
	private String address; //联系地址

	@TableField(exist = false)
	private String zipCode; //邮编

	@TableField(exist = false)
	private String fax; //传真

	@TableField(exist = false)
	private String suiFlag; //传真

	private String userTypeCode; //用户类别

	@TableField(exist = false)
	private String suiPwNextUpdateDate; //用户类别

	private String documentNo; //用户类别

	private String isTempStatus; //用户类别

	private String cmtteePostCode; //委员会任职

	@TableField(exist = false)
	private String dtcId; //证件类型id

	@TableField(exist = false)
	private String dtcNo; //证件号码

	@TableField(exist = false)
	private String linkmanName; //联系人姓名

	private static final long serialVersionUID = 1L;


	//字典
	@TableField(exist = false)
	private Map<String, Object> dictNameResult = new HashMap<String, Object>();

	public Map<String, Object> getDictNameResult() {
		return dictNameResult;
	}

	public void setDictNameResult(Map<String, Object> dictNameResult) {
		this.dictNameResult = dictNameResult;
	}

	public String[] buildIncludeField(){
		return new String[]{"beltoRegiCode","orgAttrCode","userState","orgTypeCode"};
	}

	public String[] buildIncludeType(){
		return new String[]{"DG0060","DG0516","DG0465","DG0443"};
	}

	public String getUserInfoNo() {
		return userInfoNo;
	}

	public void setUserInfoNo(String userInfoNo) {
		this.userInfoNo = userInfoNo == null ? null : userInfoNo.trim();
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName == null ? null : loginName.trim();
	}

	public String getPwd() {
		return pwd;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd == null ? null : pwd.trim();
	}

	public String getUserState() {
		return userState;
	}

	public void setUserState(String userState) {
		this.userState = userState == null ? null : userState.trim();
	}

	public String getUserType() {
		return userType;
	}

	public void setUserType(String userType) {
		this.userType = userType == null ? null : userType.trim();
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName == null ? null : userName.trim();
	}

	public String getPerUserNo() {
		return perUserNo;
	}

	public void setPerUserNo(String perUserNo) {
		this.perUserNo = perUserNo == null ? null : perUserNo.trim();
	}

	public String getUserIdent() {
		return userIdent;
	}

	public void setUserIdent(String userIdent) {
		this.userIdent = userIdent == null ? null : userIdent.trim();
	}

	public String getOrgUserNo() {
		return orgUserNo;
	}

	public void setOrgUserNo(String orgUserNo) {
		this.orgUserNo = orgUserNo == null ? null : orgUserNo.trim();
	}

	public String getCreateUserNo() {
		return createUserNo;
	}

	public void setCreateUserNo(String createUserNo) {
		this.createUserNo = createUserNo == null ? null : createUserNo.trim();
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime == null ? null : createTime.trim();
	}

	public String getModyTime() {
		return modyTime;
	}

	public void setModyTime(String modyTime) {
		this.modyTime = modyTime == null ? null : modyTime.trim();
	}

	public String getRegIp() {
		return regIp;
	}

	public void setRegIp(String regIp) {
		this.regIp = regIp;
	}

	public String getIsSsoUser() {
		return isSsoUser;
	}

	public void setIsSsoUser(String isSsoUser) {
		this.isSsoUser = isSsoUser;
	}

	public String getLockTimes() {
		return lockTimes;
	}

	public void setLockTimes(String lockTimes) {
		this.lockTimes = lockTimes;
	}

	public String getSalt() {
		return salt;
	}

	public void setSalt(String salt) {
		this.salt = salt;
	}

	public String getOpenId() {
		return openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	public String getOrgAttrCode() {
		return orgAttrCode;
	}

	public String getBeltoRegiCode() {
		return beltoRegiCode;
	}

	public String getIndvUserNo() {
		return indvUserNo;
	}

	public String getOrgTypeCode() {
		return orgTypeCode;
	}

	public String getOrgName() {
		return orgName;
	}

	public String getOrgCode() {
		return orgCode;
	}

	public String getAoiOrgNo() {
		return aoiOrgNo;
	}

	public String getOrgStatusCode() {
		return orgStatusCode;
	}

	public String getOrgDutyCode() {
		return orgDutyCode;
	}

	public String getOrgCertifNo() {
		return orgCertifNo;
	}

	public String getBeltoDeptNo() {
		return beltoDeptNo;
	}

	public String getBeltoOrgId() {
		return beltoOrgId;
	}

	public String getMob() {
		return mob;
	}

	public String getFixTel() {
		return fixTel;
	}

	public String getEml() {
		return eml;
	}

	public String getBeltoIvpbNo() {
		return beltoIvpbNo;
	}

	public String getHelperNo() {
		return helperNo;
	}

	public String getUnit() {
		return unit;
	}

	public String getUnitPostName() {
		return unitPostName;
	}

	public String getAddress() {
		return address;
	}

	public String getZipCode() {
		return zipCode;
	}

	public String getFax() {
		return fax;
	}

	public String getUserTypeCode() {
		return userTypeCode;
	}

	public String getCmtteePostCode() {
		return cmtteePostCode;
	}

	public String getDtcId() {
		return dtcId;
	}

	public String getLinkmanName() {
		return linkmanName;
	}

	public void setLinkmanName(String linkmanName) {
		this.linkmanName = linkmanName;
	}

	public String getDtcNo() {
		return dtcNo;
	}

	public void setOrgAttrCode(String orgAttrCode) {
		this.orgAttrCode = orgAttrCode;
	}

	public void setBeltoRegiCode(String beltoRegiCode) {
		this.beltoRegiCode = beltoRegiCode;
	}

	public void setIndvUserNo(String indvUserNo) {
		this.indvUserNo = indvUserNo;
	}

	public void setOrgTypeCode(String orgTypeCode) {
		this.orgTypeCode = orgTypeCode;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	public void setOrgCode(String orgCode) {
		this.orgCode = orgCode;
	}

	public void setAoiOrgNo(String aoiOrgNo) {
		this.aoiOrgNo = aoiOrgNo;
	}

	public void setOrgStatusCode(String orgStatusCode) {
		this.orgStatusCode = orgStatusCode;
	}

	public void setOrgDutyCode(String orgDutyCode) {
		this.orgDutyCode = orgDutyCode;
	}



	public void setOrgCertifNo(String orgCertifNo) {
		this.orgCertifNo = orgCertifNo;
	}

	public void setBeltoDeptNo(String beltoDeptNo) {
		this.beltoDeptNo = beltoDeptNo;
	}

	public void setBeltoOrgId(String beltoOrgId) {
		this.beltoOrgId = beltoOrgId;
	}

	public void setMob(String mob) {
		this.mob = mob;
	}

	public void setFixTel(String fixTel) {
		this.fixTel = fixTel;
	}

	public void setEml(String eml) {
		this.eml = eml;
	}

	public void setBeltoIvpbNo(String beltoIvpbNo) {
		this.beltoIvpbNo = beltoIvpbNo;
	}

	public void setHelperNo(String helperNo) {
		this.helperNo = helperNo;
	}

	public void setUnit(String unit) {
		this.unit = unit;
	}

	public void setUnitPostName(String unitPostName) {
		this.unitPostName = unitPostName;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}

	public void setUserTypeCode(String userTypeCode) {
		this.userTypeCode = userTypeCode;
	}

	public void setCmtteePostCode(String cmtteePostCode) {
		this.cmtteePostCode = cmtteePostCode;
	}

	public void setDtcId(String dtcId) {
		this.dtcId = dtcId;
	}

	public void setDtcNo(String dtcNo) {
		this.dtcNo = dtcNo;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public String getSuiFlag() {
		return suiFlag;
	}

	public void setSuiFlag(String suiFlag) {
		this.suiFlag = suiFlag;
	}

	public String getSuiPwNextUpdateDate() {
		return suiPwNextUpdateDate;
	}

	public void setSuiPwNextUpdateDate(String suiPwNextUpdateDate) {
		this.suiPwNextUpdateDate = suiPwNextUpdateDate;
	}

	public String getDocumentNo() {
		return documentNo;
	}

	public void setDocumentNo(String documentNo) {
		this.documentNo = documentNo;
	}

	public String getIsTempStatus() {
		return isTempStatus;
	}

	public void setIsTempStatus(String isTempStatus) {
		this.isTempStatus = isTempStatus;
	}

	public String getCode() {return code;	}

	public void setCode(String code) {this.code = code;	}

	public String getAccess_token() {return access_token;	}

	public void setAccess_token(String access_token) {this.access_token = access_token;	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", userInfoNo=").append(userInfoNo);
		sb.append(", loginName=").append(loginName);
		sb.append(", pwd=").append(pwd);
		sb.append(", userState=").append(userState);
		sb.append(", userType=").append(userType);
		sb.append(", userName=").append(userName);
		sb.append(", perUserNo=").append(perUserNo);
		sb.append(", userIdent=").append(userIdent);
		sb.append(", orgUserNo=").append(orgUserNo);
		sb.append(", createUserNo=").append(createUserNo);
		sb.append(", createTime=").append(createTime);
		sb.append(", modyTime=").append(modyTime);
		sb.append(", openId=").append(openId);
		sb.append(", serialVersionUID=").append(serialVersionUID);
		sb.append("]");
		return sb.toString();
	}


	@Override
	public boolean equals(Object that) {
		if (this == that) {
			return true;
		}
		if (that == null) {
			return false;
		}
		if (getClass() != that.getClass()) {
			return false;
		}
		SysUserInfo other = (SysUserInfo) that;
		return (this.getUserInfoNo() == null ? other.getUserInfoNo() == null : this.getUserInfoNo().equals(other.getUserInfoNo()))
				&& (this.getLoginName() == null ? other.getLoginName() == null : this.getLoginName().equals(other.getLoginName()))
				&& (this.getPwd() == null ? other.getPwd() == null : this.getPwd().equals(other.getPwd()))
				&& (this.getUserState() == null ? other.getUserState() == null : this.getUserState().equals(other.getUserState()))
				&& (this.getUserType() == null ? other.getUserType() == null : this.getUserType().equals(other.getUserType()))
				&& (this.getUserName() == null ? other.getUserName() == null : this.getUserName().equals(other.getUserName()))
				&& (this.getPerUserNo() == null ? other.getPerUserNo() == null : this.getPerUserNo().equals(other.getPerUserNo()))
				&& (this.getUserIdent() == null ? other.getUserIdent() == null : this.getUserIdent().equals(other.getUserIdent()))
				&& (this.getOrgUserNo() == null ? other.getOrgUserNo() == null : this.getOrgUserNo().equals(other.getOrgUserNo()))
				&& (this.getCreateUserNo() == null ? other.getCreateUserNo() == null : this.getCreateUserNo().equals(other.getCreateUserNo()))
				&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
				&& (this.getOpenId() == null ? other.getOpenId() == null : this.getOpenId().equals(other.getOpenId()))
				&& (this.getModyTime() == null ? other.getModyTime() == null : this.getModyTime().equals(other.getModyTime()));
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((getUserInfoNo() == null) ? 0 : getUserInfoNo().hashCode());
		result = prime * result + ((getLoginName() == null) ? 0 : getLoginName().hashCode());
		result = prime * result + ((getPwd() == null) ? 0 : getPwd().hashCode());
		result = prime * result + ((getUserState() == null) ? 0 : getUserState().hashCode());
		result = prime * result + ((getUserType() == null) ? 0 : getUserType().hashCode());
		result = prime * result + ((getUserName() == null) ? 0 : getUserName().hashCode());
		result = prime * result + ((getPerUserNo() == null) ? 0 : getPerUserNo().hashCode());
		result = prime * result + ((getUserIdent() == null) ? 0 : getUserIdent().hashCode());
		result = prime * result + ((getOrgUserNo() == null) ? 0 : getOrgUserNo().hashCode());
		result = prime * result + ((getCreateUserNo() == null) ? 0 : getCreateUserNo().hashCode());
		result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
		result = prime * result + ((getModyTime() == null) ? 0 : getModyTime().hashCode());
		result = prime * result + ((getOpenId() == null) ? 0 : getOpenId().hashCode());
		return result;
	}
}
